// #include <iostream>

// using namespace std;
// const int N = 1e9;
// int t, n;
// void dfs(int x, int start)
// {
//     for (int i = start; i <= n; i++)
//     {
//         dfs(x + 1, i);
//     }
// }
// int main()
// {
//     ios::sync_with_stdio(0);
//     cin.tie(0), cout.tie(0);
//     cin >> t;
//     while (t--)
//     {
//         int n;
//         int arr[N];
//         cin >> n;
//         for (int i = 1; i <= n; i++)
//         {
//             cin >> arr[i];
//         }
//         dfs(1, 1);
//     }
//     return 0;
// }

// #include <iostream>
// #include <algorithm> // 用于max函数

// using namespace std;

// int main()
// {
//     ios::sync_with_stdio(false);
//     cin.tie(nullptr);

//     int T;
//     cin >> T;

//     while (T--)
//     {
//         int n;
//         cin >> n;

//         if (n == 0)
//         {
//             cout << 0 << '\n';
//             continue;
//         }

//         int a0;
//         cin >> a0;

//         if (n == 1)
//         {
//             cout << a0 << '\n';
//             continue;
//         }

//         int a1;
//         cin >> a1;
//         int prev_prev = a0;
//         int prev = max(a0, a1);

//         for (int i = 2; i < n; ++i)
//         {
//             int current;
//             cin >> current;
//             int temp = max(prev, prev_prev + current);
//             prev_prev = prev;
//             prev = temp;
//         }

//         cout << prev << '\n';
//     }

//     return 0;
// }

#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
const int N = 10010;
int n, t;
int home[N];//储存每家店的钱
int memo[N];

//记忆化搜索
int dfs(int x)
{
    if (memo[x])
        return memo[x];
    int sum = 0;
    if (x > n)
        sum = 0;
    else
        sum = max(dfs(x + 1), dfs(x + 2) + home[x]);//两种选择，抢劫或者不抢，不抢直接考虑下一家，不拿钱
    memo[x] = sum;
    return sum;
}

int f[N];
int main()
{
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    cin >> t;
    while (t--)
    {
        cin >> n;
        for (int i = 1; i <= n; i++)
        {
            cin >> home[i];
        }
        //memset(memo, 0, sizeof(memo));
        //int res = dfs(1);
        memset(f, 0, sizeof(f));
        for (int i = n; i >= 1; i--)
        {
            f[i] = max(f[i+1], f[i + 2] + home[i]);
        }
        cout << f[1] << "\n";
        // cout << res << "\n";
    }
    return 0;
}